package cn.iocoder.yudao.module.ai.controller.admin.dataset.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotEmpty;

@Schema(description = "管理后台 - 数据集管理新增/修改 Request VO")
@Data
public class DatasetUpdateReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25147")
    private Long id;

    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "data_1234ab")
    private String name;

    @Schema(description = "描述", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "描述信息")
    private String description;

//    @Schema(description = "标注场景（文件类型） 1 图片；2 视频；参见字典dataset_mark_file_type", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
//    @NotEmpty(message = "标注场景（文件类型） 1 图片；2 视频；参见字典dataset_mark_file_type不能为空")
//    private String fileType;

//    @Schema(description = "所属企业")
//    private String ownerOrg;
//
//    @Schema(description = "所属企业名称", example = "李四")
//    private String ownerOrgName;

//    @Schema(description = "标注类型，（1物体检测（矩形边）， 2实例分割（多边形））参见字典 dataset_mark_biz_type", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
//    @NotEmpty(message = "标注类型，不能为空")
//    private String senceType;

//    @Schema(description = "文件原始名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
//    @NotEmpty(message = "文件原始名称不能为空")
//    private String fileOriginalName;
//
//    @Schema(description = "文件存储路径", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotEmpty(message = "文件存储路径不能为空")
//    private String fileUploadPath;

    @Schema(description = "所属行业编号，业务字典 Industry_affiliation", requiredMode = Schema.RequiredMode.REQUIRED, example = "fireFighting")
    @NotEmpty(message = "所属行业编号大类不能为空")
    private String industryId;
    @Schema(description = "行业编号-模型大类，业务字典 model_broad_category", requiredMode = Schema.RequiredMode.REQUIRED, example = "fireFighting_preventionWorks")
    @NotEmpty(message = "行业编号子类不能为空")
    private String industryId2;
    @Schema(description = "行业编号-模型小类，业务字典 model_subclass", requiredMode = Schema.RequiredMode.REQUIRED, example = "fireFighting_preventionWorks-1")
    @NotEmpty(message = "行业编号小类不能为空")
    private String industryId3;

    @Schema(description = "标签列表,格式[{\"labelId\":1,\"labelName\":\"person\",\"color\":\"#223344\"}]", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "标签列表,格式[{\"labelId\":1,\"labelName\":\"person\",\"color\":\"#223344\"}]\"不能为空")
    private String labelInfo;

//    @Schema(description = "时长（针对视频）秒")
//    private Long duration;
//
//    @Schema(description = "包含原始文件数量")
//    private Integer containFileNum;
//
//    @Schema(description = "标注文件数量")
//    private Integer markFileNum;
//
//    @Schema(description = "标注文件标签列表，逗号隔开", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotEmpty(message = "标注文件标签列表，逗号隔开不能为空")
//    private String markFileClasses;

//    @Schema(description = "文件大小")
//    private Long fileSize;
//
//    @Schema(description = "质检状态 0 ,未质检；1 ，质检完成", example = "1")
//    private String qualityStatus;
//
//    @Schema(description = "质检人编号", example = "19214")
//    private String qualityUserId;
//
//    @Schema(description = "质检时间")
//    private LocalDateTime qualityTime;
//
//    @Schema(description = "发布状态 0 未发布，1 已发布", example = "1")
//    private String publishStatus;

//    @Schema(description = "供应商id", example = "19701")
//    private Long suplierId;

//    @Schema(description = "文件附件，与 absDiskFilePath 2选1", requiredMode = Schema.RequiredMode.REQUIRED)
//    private MultipartFile file;
//    /**
//     * 绝对磁盘文件路径(与 file 2选1 )
//     */
//    private String absDiskFilePath;

}